#include <logger\LogManager.h>

#include <iostream>

// int main() {
//   Logging::LogConfiguration config;
//   config.enable_console_sink = true;  // 保持控制台输出
//   config.enable_file_sink = true;     // **启用文件输出**
//   config.file_path = "my_app.log";    // 设置日志文件名
//   config.max_file_size_mb = 1;        // 每个文件最大1MB
//   config.max_files = 3;               // 最多保留3个滚动文件
//   config.default_level = Logging::LogLevel::kInfo;
//
//   Logging::LogManager::initialize(config);
//
//   auto logger = Logging::LogManager::get_logger("FileTest");
//   logger->info("This message will go to both console and my_app.log.");
//   logger->warn("So will this warning.");
//
//   // 这个级别的日志将不会被记录，因为默认级别是kInfo
//   logger->debug("This debug message will be ignored.");
//
//   Logging::LogManager::shutdown();
//
//   std::cout << "Check the file 'my_app.log' in your execution directory."
//             << std::endl;
//   return 0;
// }

/*
预期行为：

控制台会输出 info 和 warn 级别的日志。
在程序运行的目录下，会创建一个 my_app.log 文件，内容与控制台输出相同。
*/